const mongoose = require('mongoose');

// 帖子表
const PostSchema = new mongoose.Schema({
    // 发布者的openid
    openid: {
        type: String
    },
    // 帖子标题
    title: {
        type: String
    },
    // 帖子内容
    content: {
        type: String
    },
    // 帖子图片
    images: [String], // 多张图片
    // 帖子发布时间
    time: {
        type: Date,
        default: Date.now
    },
    // 帖子状态
    state: {
        type: String,              // 字段类型是字符串
        enum: ['发布中', '已删除', '结束'], // 只能从这几个值中选一个
        default: '发布中'          // 默认值是"发布中"
    },
    // 帖子类型
    type: {
        type: String,
        enum: ['二手转让', '交友', '求助','信息分享'], // 只能从这几个值中选一个
        default: '信息分享'          // 默认值是"信息分享"
    },
    //点赞数量
    likeCount: {
        type: Number,
        default: 0
    },
    // 点赞的用户列表
    likedBy: {
        type: [String], // 存储用户的openid
        default: []
    },
    //评论数量
    commentCount: {
        type: Number,
        default: 0
    },
    // 作者信息，方便前端直接显示作者信息，避免额外查询
    authorInfo: {
        type: Object,
        default: {}
    },
    // 联系方式
    contactInfo: {
        type: Object,
        default: null
    },
    // 管理系统使用的状态字段：1-正常, 0-禁用, 2-审核中
    status: {
        type: Number,
        default: 1
    },
    // 浏览量
    viewCount: {
        type: Number,
        default: 0
    },
    // 分类
    category: {
        type: String,
        default: '未分类'
    },
    // 位置信息
    location: {
        type: Object,
        default: {}
    },
    // 视频
    videos: [String]
})

// 创建文本索引，用于全文搜索
PostSchema.index({ title: 'text', content: 'text' });

module.exports = mongoose.model('Post', PostSchema);